home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 March / EnigmA AMIGA RUN 05 (1996)(G.R. Edizioni)(IT)[!][issue 1996-03][Skylink CD IV].iso / earcd / demo / scdb_13d.lha / scdb_13d / scdb.doc < prev   
Text File  |  1996-02-02  |  14KB  |  409 lines

  1.  
  2. SCDB.DOC                SCDB version 1.3d                 Achim Gorski
  3.                             Feb 1996
  4.  
  5. SCDB, (c) Copyright 1994-96, Achim Gorski.  All Rights Reserved.
  6.  
  7. This  software  may be distributed for non-profit only.  This software
  8. is  FREEWARE,  but NOT FOR COMMERICAL USE!  If you have paid money for
  9. this  software,  then  you  have  been  ripped  off.   This program is
  10. provided  "as  is"  without  warranty of any kind.  All risks involved
  11. using   this  program  is  entirely  yours.   The  author  assumes  no
  12. responsibility or liability whatever for any damage or dataloss caused
  13. by  using  SCDB.   Although  everything has been done to make sure the
  14. program  is  fully  functional, the author cannot guarantee this for a
  15. 100%.  This package may be distributed as is only.
  16.  
  17.     Achim Gorski
  18.     Starenweg 27
  19.     50997  Koeln
  20.       Germany
  21.  
  22.  
  23.  
  24. SCDB - a Sound Carrier DataBase.
  25.  
  26. SCDB  is  based  on  isam (indexed sequential acces method) and uses a
  27. multilevel index structure.
  28.  
  29. _--------------------------------------------------------------------_
  30. --__      Some shells may filter Xon/Xoff CHRs : ^Q ^S ^X ^C      __--
  31. _-      Try to disable any filter or SCDB won't work correctly.     -_
  32. ----------------------------------------------------------------------
  33.  
  34.  
  35. ALPHA (DEC), INTEL, ...
  36.  
  37. !!  THE  DEFAULT  "Music.SDB" SCDB-DATABASE IS A 32 BIT BIG-ENDIAN  !!
  38. !!    BYTE ORDERING DATABASE.  USE THE BUILD-IN CONVERT FUNCTION    !!
  39.  
  40. Some   Processors   (e.g.    Intel   &   National  Semiconductor)  use
  41. little-endian  byte  ordering!   The default SCDB-database is saved in
  42. big-endian byte ordering.
  43.  
  44. Little-endian  byte  ordering  processors address the lowest byte with
  45. increasing addresses.
  46.  
  47. Example:
  48.  
  49. ADDRESS|00|01|02|03
  50. -------+--+--+--+--
  51. VALUE  |AA|BB|CC|DD     <- Big-endian byte ordering
  52.        |DD|CC|BB|AA     <- Little-endian byte ordering
  53.  
  54. ----------------------------------------------------------------------
  55.  
  56.  
  57.  
  58. Edit   the   file   '.SCDB-Config'   for   your   own   configuration.
  59. '.SCDB-Config'   should  be  in  the  current  directory  or  in  HOME
  60. (enviroment-variable).   If  there's  nothing,  there  will be nothing
  61. defined  except  'Type'  and the default printer-configuration.  After
  62. changing  'Type'  you  should reorganize your database or you will get
  63. wrong  statistics!  The default 'Music.SDB' SCDB-database will be read
  64. if  no  argument is given!  Do not read this document (waste of time)!
  65. Use the program!!
  66.  
  67. Try 'SCDB -h'.
  68.  
  69.  
  70. Short INFO about SCDB:
  71.  
  72.  
  73. COMMAND MODE
  74.  
  75.  
  76. CTRL-? or ?
  77.    Help
  78.  
  79.  
  80. CTRL-F
  81.    Find  Artist/Title.   Try TAB-completion (once:  ARTIST-completion,
  82. twice:   TITLE-completion).   The  function  is  case  insensitive and
  83. ignores every none-alphanumeric-char!
  84.  
  85.  
  86. F
  87.    Find next Artist/Title
  88.  
  89.  
  90. CTRL-L
  91.    Log  record  IN  or  OUT.   Ok,  you loaned it - this should change
  92. LOCATION.  Your chance to change it.
  93.  
  94.  
  95. L
  96.    List loaned records.
  97.  
  98. M
  99.    View comment (More)
  100.    Commands:
  101.    <Space> ............. Next Page (More)
  102.    q or ctrl/c ......... Quit
  103.    < or 7 .............. First Page
  104.    > or 1 .............. Last Page
  105.    b, DEL or <BackSpace> Previous Page
  106.  
  107.  
  108. V
  109.    View index ON/OFF
  110. If index ON:
  111.  
  112.         KEY                     ACTION
  113.        ----------------------------------------------------
  114.         7                       jump to top of page
  115.         1                       jump to bottom of page
  116.         SPACE/DEL               one page forward/backward
  117.         arrow right/left        one page forward/backward
  118.         arrow up/down or +/-    one line forward/backward
  119.  
  120.  
  121. --Cherrymoon <--.
  122.   +--Trax II    |                                *L 10/1994 Vinyl-Maxi
  123.       ^         |                                ^    ^      ^
  124.       |         `-- artist                       |    |      |
  125.       `------------ title     record is loaned --´    |      |
  126.                                   release date -------´      |
  127.                                           type --------------´
  128.  
  129.  
  130. S
  131.    Searches for the string found in 'See also'
  132.  
  133.  
  134. CTRL-S
  135.    Statistics
  136.                 TT:    0y  0d 0h 0m 0s (Total time of Total Time) -:))
  137.                         |   |  |  |  |
  138.                         |   |  |  |  `-- seconds
  139.                         |   |  |  `----- minutes
  140.                         |   |  `-------- hours
  141.                         |   `----------- days
  142.                         `--------------- years
  143.  
  144.  
  145. CTRL-P
  146.    Select  print  option  & print.  If you want to use this functions,
  147. you  should set the configuration-variable '.OUTPUT:' and '.PRINTER:'.
  148. '.OUTPUT:'  and  '.PRINTER:'  specify where the output goes.  .OUTPUT:
  149. should be an ASCII-printer or a filename.  Look at '.SCDB-Config'.  If
  150. there  are  any problems with your printer, try to change variables in
  151. '.SCDB-Config'.   Remember:  the variables only affect '.PRINTER:' and
  152. NOT '.OUTPUT:'.
  153.  
  154.  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  155.  
  156. SELECT OPTION
  157.    'To .OUTPUT:  as FULL  List':
  158.  
  159.    Reads  the  whole  database and creates a LIST of all entries which
  160.    match  with  the given key(s).  Hunts for specific information like
  161.    CTRL-H.   The  output  goes  to  .OUTPUT:.  '**' in Artist-field
  162.    creates a list of the whole database.
  163.  
  164. SELECT OPTION
  165.    'To .OUTPUT:  as SHORT List':
  166.  
  167.    Reads  the whole database and creates a LIST (short output!).  '**'
  168.    in Artist-field creates a list of the whole database.
  169.  
  170. SELECT OPTION
  171.    'To .PRINTER: as LABEL':
  172.  
  173.    Print   label.   Output  goes  to  .PRINTER:.   You  should  use
  174.    self-adhesive labels (101,6 x 35,7 mm).
  175.  
  176.  
  177. P
  178.    Print as selected in CTRL-P.
  179.  
  180.  
  181. CTRL-O
  182.    Prints  a  CassCover  of  selected  entries  to  .PRINTER:.   While
  183. choosing  entries  it  is possible to use every function of SCDB (e.g.
  184. FIND,  HUNT,...).   If  you want to use this functions, you should set
  185. the '.PRINTER:' variable.
  186.  
  187.  
  188. CTRL-H
  189.    Hunts  for  specific  information  in  the  whole  database.   This
  190. function  will  need some time !  The function is case insensitive and
  191. ignores  every  none-alphanumeric-char!   TAB completes Artist, Title,
  192. Label,  Type,  Category & Location.
  193.  
  194.  
  195. CTRL-R
  196.    Reorganizes the database.  You should do this if you update from an
  197. old  to  a new SCDB-version.  Regorganize will correct all statistics,
  198. remove  trash  and  sort  the  database  on  disk.  Never reorganize a
  199. database  if  you  run  SCDB twice or more on the same database!  This
  200. cost only your time and will reorganize nothing.
  201.  
  202.  
  203. CTRL-^
  204.    Import  ASCII  delimited.   Press TAB for filename completion.  The
  205. IMPORT-function  is just a by-product of my own imported database.  So
  206. don't overrate it!
  207.  
  208.  
  209. CTRL-\
  210.    This  function  let  you  exchange  SCDB-databases  from  different
  211. systems.  Press TAB for filename completion.  It is possible to import
  212. any  SCDB-database  from  any system to any system!  Little/Big-endian
  213. byte  ordering  or  32/64  bit(or  more)  systems  - no matter !  This
  214. function imports all.
  215.  
  216.                 Example:
  217.                 [Input:]        ../alpha/Music.SDB
  218.  
  219. This  will  import  a  64  bit  little-endian  byte ordering database.
  220. Comment:   importing a 64 bit database to a 32 bit system works if the
  221. database is less than 4 Gbytes (2^32)!  This function also imports old
  222. SCDB-databases.
  223.  
  224.  
  225. CTRL-Z
  226.    Lock ON/OFF. Lock OFF: all function available (default)
  227.                 Lock ON : only view & print functions available
  228.                           (Don't forget your password!) -:))
  229.  
  230.  
  231.  
  232.    ... all other functions should explain itself.
  233.  
  234.  
  235.  
  236. EDITOR MODE
  237.  
  238.  
  239. Functions   should   explain   itself.    (lazy   programmer)   (Rule:
  240. writehowyalike!)
  241.  
  242. While editing Tracks it is possible to press TAB for Artist completion
  243. (only  if Artist is 'Various Artists' and only in the second half of a
  244. string).
  245.  
  246. Use keyboard shortcuts in window (e.g. Label, Type, Category,...)
  247.  
  248.  
  249. No  further  decription  at this time:  Just use it.  Hit the keys and
  250. you will see the results.
  251.  
  252. FUTURE: Any ideas??: send me mail.
  253.  
  254.  
  255.  
  256. ----------------------------------------------------------------------
  257.  
  258.  
  259. FOR THOSE WHO WANT TO KNOW MORE ABOUT THIS DATABASE:
  260.  
  261.  
  262.         Some information about the input-fields:
  263.  
  264.         Field name      Attributes        Chars  Comment
  265.         --------------------------------------------------------------
  266.         Artist          Capitalize Words    49   Minimum: 1 char !
  267.         Title           Capitalize Words    49   Not after "'"
  268.         Label           Capitalize Words    38   Not after "'"
  269.         Catalog         Upper case          26
  270.         See also        Text                68
  271.         Type            Text                12
  272.         Released        Numeric              7   (?, mm/yyyy or yyyy)
  273.         Number          Numeric              2   0 < x < 100
  274.         Tracks          Numeric              4   0 < x < (99*Number)+1
  275.         Category        Capitalize Words    31
  276.         Location        Text                23
  277.         Barcode         Numeric             18
  278.         Comment         Text                size of memory!
  279.         Info            Upper case          46
  280.         TRK             Capitalize Words    68   Not after "'"
  281.         Time            Numeric,             5   (mm:ss)
  282.                         Time dependent auto-return(time-out: 0.5s)
  283.  
  284.  
  285.  
  286.    THE STRUCTURE OF THE MAIN-FILE:
  287.  
  288.  
  289.    pos  length[byte]    field           comment
  290.  ---------------------------------------------------------------------
  291.    0.
  292.    <= Version 1.0c (02.03.95):
  293.         1               ID              only once in the database
  294.                                         always 8
  295.    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  296.    >= Version 1.0d:
  297.         3               ID              only once in the database
  298.                                         (always in Big-endian byte
  299.                                          ordering!!) Looks like that:
  300.    struct scdb_id {
  301.           unsigned int   ID_1:4;        /* ID_1: always 8           */
  302.           unsigned int endian:1;        /* 1/0 big/little-endian    */
  303.           unsigned int  longs:6;        /* bits=((longs+1)*4*8)     */
  304.           unsigned int   ID_2:7;        /* ID_2=ID_1+endian+longs+0 */
  305.           unsigned int       :6;        /* Future                   */
  306.         };
  307.    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  308.    >= Version 1.1 :
  309.    struct scdb_id { ...
  310.           unsigned int   ID_2:7;        /* ID_2=ID_1+endian+longs+1 */
  311.                     ... };
  312.    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  313.    >= Version 1.2 :
  314.    struct scdb_id { ...
  315.           unsigned int   ID_2:7;        /* ID_2=ID_1+endian+longs+2 */
  316.                     ... };
  317.    ...and so on.
  318.  
  319.    1.   unsigned long   size of record
  320.  
  321.    2.   1               length
  322.         max. 49         Artist          min. 1
  323.    3.   1               length
  324.         max. 49         Title
  325.    4.   1               length
  326.         max. 38         Label
  327.    5.   1               length
  328.         max. 26         Catalog
  329.    6.   1               length
  330.         max. 12         Type
  331.    7.   1               length
  332.         max. 7          Released
  333.    8.   1               ..
  334.         max. 2          Number          min. '1'
  335.    9.   1               ..
  336.         max. 4          Tracks          min. '1'
  337.    10.   1              ..
  338.         max. 31         Category
  339.    11.  1               length=23       length always 23
  340.         23              Location
  341.    12.  1               length
  342.         max. 18         Barcode
  343.    13.  1               ..
  344.         11              Loaned on
  345.    14.  1               ..
  346.         8               Total Time
  347.    15.  1               ..
  348.         11              Rec-Date
  349.    16.  1               ..
  350.         max. 68         See also
  351.  
  352.    17.
  353.    <= Version 1.0e:
  354.       18 lines comment
  355.       saved in the known format: length,string,length,string,....
  356.                                   \__1   \__max.76
  357.    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  358.    >= Version 1.1 :
  359.         unsigned long   number of x lines
  360.         x lines comment saved in the known format:
  361.                                   length,string,length,string,....
  362.                                    \__1   \__max.78
  363.    18.
  364.    <= Version 1.0e:
  365.       Number of tracks per disc per record.
  366.       Example:
  367.         Number=2, Tracks=23 (No.1: 11TRKs, No.2: 12TRKs.
  368.         something like that should be saved:
  369.         0b 0c
  370.    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  371.    >= Version 1.1 :                                  __/info
  372.       Number of tracks per disc per record & length, string per disc.
  373.                                                \__1   \__max.46
  374.       Example:
  375.         Number=2, Tracks=23, No.1: 11TRKs, No.2: 12TRKs,
  376.         Info 1: This is an, Info 2: example .
  377.         something like that should be saved:
  378.         0b 0a This is an  0c 07 example
  379.  
  380.    19.
  381.    <= Version 1.0e:
  382.        length,track-string,length,time,...... (for every track)
  383.         \__1   \__max.68    \__1   \__max.5
  384.    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  385.    >= Version 1.1 :
  386.        length,track-string,length,time,...... (for every track)
  387.         \__1   \__max.68    \__1   \__max.4 ( NO ':' !)
  388.  
  389.    ...next record -> goto 1.
  390.  
  391.  
  392.    The index-structure is a little bit different (build your own).
  393.    (I really hate writing documents ..^@#]´`%$`~/:@}[§"!}+..)
  394.  
  395.  
  396.  
  397.  
  398. ----------------------------------------------------------------------
  399.                        |  |  |  |  |  |  |  |  |
  400.                        |  |  |  |  |  |  |  |  |
  401.                        |  |  |  |  |  |  |  |  |
  402.                        !  !  SAVE THE VINYL !  !
  403.                        |  |  |  |  |  |  |  |  |
  404.                        |  |  |  |  |  |  |  |  |
  405.                           |  |  |  |  |  |  |
  406.                              |  |  |  |  |
  407.                                 |  |  |
  408.                                    |
  409.